﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace EjercicioIII
{
    class Rejilla
    {

        protected int tamano;
        public int Tamano {
            get { return tamano; }
            set { tamano = value; }
        }
        public Celda[,] rejilla;
        public Rejilla(int tamano= 5) 
            {
                int i = 0; 
                int j = 0;
                this.Tamano = tamano;
                
            //CREA LA MATRIZ CON OBJETOS CELDA.
                rejilla = new Celda[Tamano, Tamano]; 
                for (i=0; i<tamano; i++){
                    for(j=0;j<tamano;j++){
                        rejilla[i,j] = new Celda();
                    }  
                }
            }
        public void imprimir()
             {
                    int i = 0, j = 0;
                    
                    for (i = 0; i < Tamano; i++)
                    {
                        for (j = 0; j < Tamano; j++)
                        {

                            System.Console.Write(rejilla[i,j].ToString());
                        }
                        System.Console.WriteLine();
                    }
                    
                    
                }
             
            public void actualizaCelda(Robot r1, int movimiento)
            {
                switch (movimiento){
                    case(1):
                        if (r1.CoordX > 0)
                        {
                            r1.moverArriba();
                            rejilla[r1.CoordX+1, r1.CoordY].Contenido = null;
                        }
                    break;
                    case (2):
                        if(r1.CoordX < Tamano -1)
                        {
                            r1.moverAbajo();
                            rejilla[r1.CoordX-1 , r1.CoordY].Contenido = null;
                        }
                    break;
                    case (3):
                        if(r1.CoordY < Tamano -1)
                        {
                            r1.moverDerecha();
                            rejilla[r1.CoordX, r1.CoordY - 1].Contenido = null;
                        }
                    break;
                    case (4):
                        if (r1.CoordY > 0)
                        {
                            r1.moverIzquierda();
                            rejilla[r1.CoordX, r1.CoordY + 1].Contenido = null;
                        }
                    break;
                }
                rejilla[r1.CoordX, r1.CoordY].Contenido = r1;
           }

    }
}
